import axios from "axios"

//创建一个axios实例(创建一个副本)
const request = axios.create({
  baseURL: "/api1",
  timeout: 10000,
  headers: {},
})

//配置请求拦截器
request.interceptors.request.use(
  (config) => {
    return config
  },
  (error) => {
    return Promise.reject(error)
  }
)

//配置响应拦截器
request.interceptors.response.use(
  (response) => {
    /* 
      response是axios响应对象格式,response中有一个data属性才是后端响应的数据

      如果后端响应的数据非常有规律,比如后端响应的数据对象中的data属性就是存放数据的,则我们一般可写作response.data.data,直接拿到我们需要的数据
    
    */
    //响应拦截器中的完整配置
    //如果响应成功也要判断 是不是我们需要的内容,如果是则返回数据,如果不是则返回一个失败的promise
    if (response.data.code === 200) {
      return response.data.data
    } else {
      return Promise.reject(response.data)
    }
  },

  (error) => {
    return Promise.reject(error)
  }
)
export default request
